import json
import requests
from mySQLTools import MYsqltools
# 1,get login
url = "http://haimo.testgoup.com/haimo/sass/systemUser/release/getLogin"#str类型存URL
data = {"userName":"ly123456","password":"e9bc0e13a8a16cbb07b175d92a113126"} #字典存参数
res = requests.post(url=url,json=data)#请求POST类型的接口  res用来接收返回值
print(res.text)#打印字符串类型返回值,
print(res.status_code)#打印http状态码

# requests是http请求的三方包，pip3 install requests  方法：requests.post

#断言:通过OK，没通过就报错
# 1，判断状态码
#2，判断结果码

assert res.status_code == 200 #获取状态码，判断是否等于200
assert res.json['msg'] =='用户名或密码错误'#获取字典类型的返回值
print('用户名或密码错误')

# b = res.json() #获取字典类型的返回值  {"code":0,"msg":"用户名或密码错误"}
# b['msg']=res.json['msg']

# 关联
# 格式化返回值，使用qqe2工具进行格式化

token = res.json()['data'][0]['token']#取data，data是一个List,里面有一个元素. 取出下表为零的元素 ['token']取出对应的token
print(token)

# 
#2, getsystemuser
u2 = 'http://haimo.testgoup.com/haimo/sass/systemUser/getSystemUser'
h2 = {"token":token}
res = requests.post(url=u2,headers=h2)
assert res.status_code == 200
assert res2.json()['msg'] =='获取数据成功'
print('获取系统用户成功')

# 3,add system user
u3 =  'http://haimo.testgoup.com/haimo/sass/systemUser/addSystemUser'
h3 = {'token':token}
d3 = {"loginAccount":"ly111222","loginPassword":"e9bc0e13a8a16cbb07b175d92a113126"}
res = requests.post(url=u3,headers=h3,json=d3)

assert res2.status_code ==200
assert res2.json()['msg'] =='获取数据成功'
print('新增用户成功')

# 数据库校验#  数据库的账号的密码和前端传的不一样(前端加密传给后端,后端解密后再加密,所以不一样)

sql = "select' * from tb_system_user where login_account = '{}' and login_password='{}'".format(d3["loginAccount"],'明文密码'）
res = MYsqltools().query(sql)#查询上面sql语句的结果，res长度不为0，说明res能查询到结果，sql语句能查询到结果，where条件是成立的。接口是没有bug的。
assert len(res) ！=0
print(res)
print("新增用户成功")






# 接口自动化测试的步骤
# 1,构造请求
# 2,断言结果(http状态码和msg)
# 3,数据库校验（部分接口覆盖）主要有新增类，修改类，查询类。

# pymysql代码连接数据库
# 1，安装包







